<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Function对象</title>
    <script>
        /*
         Function:函数(方法)对象
           * 1:创建
                 1: function 方法名称(形式参数列表){
                       方法体
                       }
                 2: var 方法名称 = function(形式参数列表){
                       方法体
                      }

           * 2:方法
           * 3:属性:
                  length:代表形参的个数
           * 4:特点
                 1:方法定义时,形参的类型不用写,返回值类型也不用写
                 2:方法是一个对象,如果定义时将名称重复,系统将会自动覆盖(执行最后一个对象),而不是报错.
                 3:在JS中,方法调用只与方法的名称有关,和参数列表无关
                 4:在方法声明中有一个隐藏的内置对象(数组),arguments,封装所有的实际参数
           * 5:调用
                 1:方法名称(实际参数列表);
        * */

        //创建方式 1
        /* function fun1(a, b){
             alert(a+b);
         }
         //调用方法
          fun1(12,6);*/

        //创建方式 2
        var fun2=function (a,b) {
            alert(a - b);
        }
           //方法调用
           //alert(fun2.length);
            //fun2(21,3);
           //fun2();
           //fun2(3,6,5);

        //arguments
          function add() {
              alert(arguments[0]);
              alert(arguments[1]);
        }
        add(5,13);
    </script>
</head>
<body>

</body>
</html>